﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Mvc.XForms.Controls.Formatters {
	public interface IFormatter {
		string Alert(ICoreControl control);
		string ClientID(ICoreControl control);
		string Control(ICoreControl control, StringBuilder controlBody);
		string GroupBegin(IGroup group);
		string GroupEnd(IGroup group);
		string Help(ICoreControl control);
		string Hidden(IInput input);
		string Hint(ICoreControl control);
		string InputBoolean(IInput input);
		string InputDate(IInput input);
		string InputText(IInput input);
		string Label(ICoreControl control);
		string Readonly(ICoreControl control);
		string RepeatBegin(IRepeat repeat);
		string RepeatEnd(IRepeat repeat);
		string RepeatItemBegin(IRepeat repeat);
		string RepeatItemEnd(IRepeat repeat);
		string Required(ICoreControl control);
		string Secret(IInput input);
		string Select(ISelect select);
		string Select1(ISelect1 select1);
		string Select1Full(ISelect1 select1);
		string SelectFull(ISelect select);
		string TextArea(ITextArea textArea);
		string Upload(IInput upload);
		string Trigger(ITrigger trigger);
		string XFormBegin(IXForm xform);
		string XFormEnd(IXForm xform);
		string XFormScript(IXForm xform);
	}
}